使用 pigx-common-job 前,需要先启动 xxl-job-admin 服务,控制台负责执行器注册、任务配置和日志查看。
通过 main 方法启动 PigxJobAdminApplication,服务启动后访问控制台地址:
控制台默认账号密码为 admin/123456。仅建议本地调试使用,生产环境请及时修改默认凭据。
在需要使用分布式任务的微服务模块中添加依赖:
在启动类上添加 @EnablePigxXxlJob 注解:
只有业务服务显式添加 @EnablePigxXxlJob 后,当前微服务中的任务处理器才会被注册到 XXL-Job 执行器。
在业务 Service 中使用 @XxlJob 注解定义任务处理器:
@XxlJob 注解中的名称是任务处理器唯一标识,控制台创建任务时需要填写相同的 JobHandler 名称。
如果任务开启了广播分片,可通过 XxlJobHelper.getShardIndex() 和 XxlJobHelper.getShardTotal() 获取当前分片信息,再按分片范围处理业务数据。
进入 执行器管理 页面,新增目标微服务对应的执行器。
AppName 需要填写目标微服务的服务名,也就是 spring.application.name 的配置值。
保存执行器后通常需要等待 10 秒左右,OnLine 机器地址显示已注册实例,说明执行器已成功接入。
进入 任务管理 页面创建任务,其中 JobHandler 对应业务代码中 @XxlJob 声明的处理器名称。
运行模式选择 BEAN,JobHandler 填写 @XxlJob 注解中定义的名称,例如 demoJobHandler。
更多任务调度配置和执行器能力说明,请查看 XXL-Job 官方文档。